package org.syntaxlisp.core.element;

import java.util.List;
import java.util.Set;

public interface CharacterScope {

    boolean isInScope (char character);

    void add (CharacterScope characterScope);

    void add (char character);

    void add (int codePoint);

    void remove (CharacterScope characterScope);

    void remove (char character);

    void remove (int codePoint);

    List<int[]> getAllCodePointScopes();

   int getMaxCodePoint();

   boolean hasIntersection (CharacterScope scope);

   Set<Integer> getAllCodepointInScope();

}
